package org.example.com.service;

import org.example.com.pojo.House;

import java.util.List;
import java.util.Map;

/**
 * 租房数据服务接口 - 为AI聊天提供数据支持
 */
public interface RentalDataService {

    /**
     * 获取房源数据摘要，用于AI聊天
     * @return 房源数据摘要
     */
    String getRentalDataSummary();
    
    /**
     * 根据关键词搜索房源
     * @param keyword 搜索关键词
     * @return 匹配的房源列表
     */
    List<House> searchHousesByKeyword(String keyword);
    
    /**
     * 获取特定价格范围内的房源
     * @param minPrice 最低价格
     * @param maxPrice 最高价格
     * @return 价格范围内的房源列表
     */
    List<House> getHousesByPriceRange(String minPrice, String maxPrice);
    
    /**
     * 获取特定区域的房源
     * @param district 区域名称
     * @return 该区域的房源列表
     */
    List<House> getHousesByDistrict(String district);
    
    /**
     * 获取热门房源
     * @param limit 数量限制
     * @return 热门房源列表
     */
    List<House> getPopularHouses(int limit);
    
    /**
     * 根据房源ID获取详细信息
     * @param houseId 房源ID
     * @return 房源详情
     */
    House getHouseDetail(Integer houseId);
    
    /**
     * 将房源信息转换为AI可读的文本格式
     * @param house 房源对象
     * @return 格式化的房源信息文本
     */
    String formatHouseInfo(House house);
    
    /**
     * 将房源列表转换为AI可读的文本格式
     * @param houses 房源列表
     * @return 格式化的房源列表文本
     */
    String formatHouseList(List<House> houses);
}
